var $usuario_pesquisar;
var $form_usuario_cadastro;

$(function(){

	$form_usuario_cadastro = $("#form_usuario_cadastro");

	$usuario_pesquisar = $("#form_usuario_pesquisar");

	/* comandos para a tela de pesquisa*/
	getRegional();
	getArea();
	getCargo();

	$(".keypress").on("keypress",function(e){
		var code = e.keyCode || e.which;
		if(code == 13) { //Enter keycode
			getUsuarios(1);
		}
	});

	$("#chk_reg_select").change(function(){
		var $all_reg = getSelected('chk_reg_select');
		var $all_uf;
		setRegional($all_reg);
		if ($all_reg != ""){
			getRegionalUF($all_reg);
		}else{
			getUF();
		}
		$all_uf = getSelected('chk_uf_select');
		if ($all_reg != "" || $all_uf != ""){
			getRegionalUFDDD($all_reg,$all_uf);
		}else{
			getDDD();
		}
	});

	$("input[name=chk_reg_all]").click(function(){
		if (!$(this).is(":checked")){
			setRegional("");
			getUF();
			getDDD();
		}
	});

	$("#chk_uf_select").change(function(){
		var $all_reg = getSelected('chk_reg_select');
		var $all_uf = getSelected('chk_uf_select');
		setUF($all_uf);
		getRegionalUFDDD($all_reg,$all_uf);
	});

	$("input[name=chk_uf_all]").click(function(){
		if (!$(this).is(":checked")){
			setUF("");
		}
	});

	$("#chk_ddd_select").change(function(){
		var $all = getSelected('chk_ddd_select');
		setDDD($all);
	});

	$("input[name=chk_ddd_all]").click(function(){
		if (!$(this).is(":checked")){
			$.ajax({
				type : 'POST',
				url  : 'ajax/usuario_pesquisar.asp',
				data : {acao : 'setDDD',ids : ""},
				success : function(data){

				}
			});
		}
	});

	$("#cmb_cod_area").change(function(){
		var $val = $(this).attr("value");
		$.ajax({
			type : 'POST',
			url  : 'ajax/usuario_pesquisar.asp',
			data : {acao : 'setArea',ids : $val},
			success : function(data){

			}
		});
	});

	$("#cmb_cod_cargo").change(function(){
		var $val = $(this).attr("value");
		$.ajax({
			type : 'POST',
			url  : 'ajax/usuario_pesquisar.asp',
			data : {acao : 'setCargo',ids : $val},
			success : function(data){

			}
		});
	});
	
	$usuario_pesquisar.validate({
        submitHandler: function(form){
	        getUsuarios(1);
        }
	});

	/* FIM comandos para a tela de pesquisa*/

	/* inicio comandos para a tela de cadastro*/
	$("#chk_reg_cadastro_select").change(function(){
		var $cod_usuario = $("#cod_usuario").attr("value");
		var $all_reg = getSelected('chk_reg_cadastro_select');
		var $all_uf;
		if ($all_reg != ""){
			getRegionalUFCadastro($all_reg,$cod_usuario,"0");
		}else{
			getUFCadastro($cod_usuario,"0");
		}
		
		$all_uf = getSelected('chk_uf_cadastro_select');
		if ($all_reg != "" || $all_uf != ""){
			getRegionalUFDDDCadastro($all_reg,$all_uf,$cod_usuario,"0");
		}else{
			getDDDCadastro($cod_usuario,"0");
		}
	});

	$("#chk_uf_cadastro_select").change(function(){
		var $cod_usuario = $("#cod_usuario").attr("value");
		var $all_reg = getSelected('chk_reg_cadastro_select');
		var $all_uf = getSelected('chk_uf_cadastro_select');
		getRegionalUFDDDCadastro($all_reg,$all_uf,$cod_usuario,"0");
	});
	/* fim comandos para a tela de cadastro*/
});

/* funções da tela de Pesquisa */

function pesquisar(){
	$usuario_pesquisar.submit();
	return false;
}

function getUsuarios($pagina){
	$("#pagina").attr("value",$pagina);
	bi.LightboxExibe({lightbox: "load"});
	$.ajax({
		type : 'POST',
		dataType : 'text',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {
				acao 			: 'getUsuarios', 
				matricula 		: $("#filtro_matricula").attr("value"), 
				nome 			: $("#filtro_nome").attr("value"),
				email 			: $("#filtro_email").attr("value"),
				cod_regional 	: getSelected("chk_reg_select"), 
				cod_uf 			: getSelected("chk_uf_select"),
				cod_ddd 		: getSelected("chk_ddd_select"), 
				cod_area 		: $("#cmb_cod_area").attr("value"),
				cod_cargo 		: $("#cmb_cod_cargo").attr("value"),
				pagina			: $pagina
		},
		success : function(data){
			$("#retorno_usuarios").html(data);
			bi.LightboxEsconde({lightbox: "load"});
		},
		error : function (error){
			bi.LightboxEsconde({lightbox: "load"});
			alert(error.responseText);
		}
	});
	return false;
}

function getRegional(){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getRegional', nome : 'chk_reg_select'},
		success : function(data){
			$("#chk_reg_select").html(data);
			var $all_reg = getSelected('chk_reg_select');
			if ($all_reg != ""){
				getRegionalUF($all_reg);
			}else{
				getUF();
			}
			var $all_uf = getSelected('chk_uf_select');
			if ($all_reg != "" || $all_uf != ""){
				getRegionalUFDDD($all_reg,$all_uf);
			}else{
				getDDD();
			}
		}
	});
}

function getUF(){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getUF', nome : 'chk_uf_select'},
		success : function(data){
			$("#chk_uf_select").html(data);
		}
	});
}

function getUFselected(){
	var $all = "";
	var $i = 0;
	$("input[name=chk_uf_select]").each(function() {
		if ($(this).is(":checked") == true){
			if ($i > 0){
				$all += ",";
			}
			$all += $(this).attr("value");
			$i += 1;
		}
	});
	return $all;	
}

function getDDD(){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getDDD', nome : 'chk_ddd_select'},
		success : function(data){
			$("#chk_ddd_select").html(data);
		}
	});
}

function getArea(){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getArea'},
		success : function(data){
			$("#cmb_cod_area").html(data);
		}
	});
}

function getCargo(){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getCargo'},
		success : function(data){
			$("#cmb_cod_cargo").html(data);
		}
	});
}

function getRegionalUF($all){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getRegionalUF', nome : 'chk_uf_select', ids : $all},
		success : function(data){
			$("#chk_uf_select").html(data);
		}
	});
}

function getRegionalUFDDD($all_regs,$all_UFs){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'getRegionalUFDDD', nome : 'chk_ddd_select', idregs : $all_regs,idufs : $all_UFs},
		success : function(data){
			$("#chk_ddd_select").html(data);
		}
	});
}

function setRegional($all){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'setRegional',ids : $all},
		success : function(data){
			
		}
	});
}

function setUF($all){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'setUF',ids : $all},
		success : function(data){
			
		}
	});
}

function setDDD($all_ddd){
	$.ajax({
		type : 'POST',
		url  : 'ajax/usuario_pesquisar.asp',
		data : {acao : 'setDDD',ids : $all_ddd},
		success : function(data){
			
		}
	});
}
/* funções da tela de Pesquisa */

/* funções da tela de cadastro */


function gravar(){
	$form_usuario_cadastro.submit();
	return false;
}

function usuario_informacao($cod_usuario){
	bi.LightboxExibe({lightbox: "load"});
	$.ajax({
		type : 'POST',
		dataType: "text",
		url : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getUsuarioInformacao', cod_usuario : $cod_usuario},
		success : function(data){
			var inf = eval("(" + data + ")");
			if (inf.success == true){
				$("#inf_matricula").html(inf.data.inf_matricula);
				$("#inf_nome").html(inf.data.inf_nome);
				$("#inf_email").html(inf.data.inf_email);
				$("#inf_tipo").html(inf.data.inf_tipo);
				$("#inf_dt_cadastro").html(inf.data.inf_dt_cadastro);
				$("#inf_dt_alteracao").html(inf.data.inf_dt_alteracao);

				$("#inf_regional").html(inf.data.inf_regional);
				$("#inf_uf").html(inf.data.inf_uf);
				$("#inf_ddd").html(inf.data.inf_ddd);

				$("#inf_area").html(inf.data.inf_area);
				$("#inf_cargo").html(inf.data.inf_cargo);

				bi.LightboxExibe({lightbox: "usuario_informacao"});
				bi.LightboxEsconde({lightbox: "load"});
			}
		},
		error : function (error){
			bi.LightboxEsconde({lightbox: "load"});
			alert(error.responseText);
		} 
	});
	return false;
}

function usuario_clear(){
	$("#matricula_cadastro").attr("value","");
	$("#cpf_cadastro").attr("value","");
	$("#nome_cadastro").attr("value","");
	$("#email_cadastro").attr("value","");
	$("#gsm_cadastro").attr("value","");
	$("#dt_nascimento_cadastro").attr("value","");
}

function usuario_cadastro($cod_usuario){
	bi.LightboxExibe({lightbox: "load"});
	setTimeout(function(){
	},250);
	$("#cod_usuario").attr("value",$cod_usuario);
	$("input").removeClass("error");
	$("select").removeClass("error");

	var $reg = $("input#chk_reg_cadastro_all");
	var $uf = $("input#chk_uf_cadastro_all");
	var $ddd = $("input#chk_ddd_cadastro_all");

	if ($reg.is(":checked")){
		$reg.attr("checked",false);
	}
	if ($uf.is(":checked")){
		$uf.attr("checked",false);
	}
	if ($ddd.is(":checked")){
		$ddd.attr("checked",false);
	}
	
	if ($cod_usuario != "0"){
		$.ajax({
			type 	: 'POST',

			url 	: 'ajax/usuario_cadastro.asp',
			data 	: {acao : 'getUsuario', cod_usuario : $cod_usuario},
			success : function(data){
				if (data){
					var inf = eval("(" + data + ")");
					//seta valores
					if (inf.data.cod_tipo == "1"){
						$('#inf_cadastro_matricula').html(inf.data.matricula);
						$('#inf_cadastro_cpf').html(inf.data.cpf);
						$('#inf_cadastro_regional').html(inf.data.inf_cadastro_regional);
						$('#inf_cadastro_uf').html(inf.data.inf_cadastro_uf);
						$('#inf_cadastro_ddd').html(inf.data.inf_cadastro_ddd);
						$('#inf_cadastro_perfil').html(inf.data.desc_perfil);
						$('#inf_cadastro_status').html(inf.data.desc_status);
						$('#inf_cadastro_acesso').html(inf.data.inf_cadastro_acesso);
						$('#inf_dt_nascimento').html(inf.data.dt_nascimento+' ');
						$("#edit_matricula").css("display","none");
						$("#view_matricula").css("display","");
						$("#edit_cpf").css("display","none");
						$("#view_cpf").css("display","");
						$("#edit_dt_nascimento").css("display","none");
						$("#view_dt_nascimento").css("display","");
						$("#edit_reg").css("display","none");
						$("#view_reg").css("display","");
						$("#edit_uf").css("display","none");
						$("#view_uf").css("display","");
						$("#edit_ddd").css("display","none");
						$("#view_ddd").css("display","");
						$("#edit_acesso").css("display","none");
						$("#view_acesso").css("display","");
						$("#edit_perfil").css("display","none");
						$("#view_perfil").css("display","");				
						$("#edit_status").css("display","none");
						$("#view_status").css("display","");
					}else{
						$("#matricula_cadastro").attr("value",inf.data.matricula);
						$("#cpf_cadastro").attr("value",inf.data.cpf);
						$("#dt_nascimento_cadastro").attr("value",inf.data.dt_nascimento);
						$('#dt_nascimento_cadastro').datepicker(optsdate);
						$('select#acesso_sistema_cadastro').find('option[value="'+inf.data.acesso_sistema_cadastro+'"]').attr('selected',true);
						$("#edit_cpf").css("display","");
						$("#view_cpf").css("display","none");
						$("#edit_matricula").css("display","");
						$("#view_matricula").css("display","none");
						$("#edit_dt_nascimento").css("display","");
						$("#view_dt_nascimento").css("display","none");
						$("#edit_reg").css("display","");
						$("#view_reg").css("display","none");
						$("#edit_uf").css("display","");
						$("#view_uf").css("display","none");
						$("#edit_ddd").css("display","");
						$("#view_ddd").css("display","none");
						$("#edit_acesso").css("display","");
						$("#view_acesso").css("display","none");
						$("#edit_perfil").css("display","");
						$("#view_perfil").css("display","none");
						$("#edit_status").css("display","");
						$("#view_status").css("display","none");
						//Preenche campo de Regional UF E DDD e Perfil
						getRegionalCadastro($cod_usuario);
						getPerfilCadastro($cod_usuario);
						getStatusCadastro($cod_usuario);
					}
					$("#nome_cadastro").attr("value",inf.data.nome);
					$("#email_cadastro").attr("value",inf.data.email);
					$("#gsm_cadastro").attr("value",inf.data.gsm);
					$('#cod_tipo').attr("value",inf.data.cod_tipo);
					$("#tipo_cadastro").html(inf.data.tipo);
					$("#dt_cadastro_usuario").html(inf.data.dt_cadastro);
					$("#dt_alteracao_usuario").html(inf.data.dt_alteracao);
					//exibe campos que para inclusão são ocultos
					$("#view_tipo").css("display","");
					$("#view_dt_cadastro").css("display","");
					$("#view_dt_alteracao").css("display","");
					usuario_validate(inf.data.cod_tipo,$cod_usuario);
					//abre a janela
					bi.LightboxExibe({lightbox: "pag_usuario_cadastro"});
					bi.LightboxEsconde({lightbox: "load"});
				}
			}
		});
	}else{
		//limpa os campos do cadastro
		usuario_clear();
		//seta o calendário para o campo de data de nascimento
		$('#dt_nascimento_cadastro').datepicker(optsdate);
		//exibe os campos para inclusão
		$("#edit_matricula").css("display","");
		$("#view_matricula").css("display","none");
		$("#edit_cpf").css("display","");
		$("#view_cpf").css("display","none");
		$("#edit_dt_nascimento").css("display","");
		$("#view_dt_nascimento").css("display","none");
		$("#edit_reg").css("display","");
		$("#view_reg").css("display","none");
		$("#edit_uf").css("display","");
		$("#view_uf").css("display","none");
		$("#edit_ddd").css("display","");
		$("#view_ddd").css("display","none");
		$("#view_tipo").css("display","none");
		$("#edit_acesso").css("display","");
		$("#view_acesso").css("display","none");
		$("#edit_perfil").css("display","");
		$("#view_perfil").css("display","none");
		$("#edit_status").css("display","");
		$("#view_status").css("display","none");
		//oculta campos desnecessários para inclusão
		$("#view_dt_cadastro").css("display", "none");
		$("#view_dt_alteracao").css("display", "none");
		$("#field_tipo").css("display", "none");
		$('#cod_tipo').attr("value","2");
		//Preenche campo de Regional UF E DDD e Perfil
		getRegionalCadastro($cod_usuario);
		getPerfilCadastro($cod_usuario);
		getStatusCadastro($cod_usuario);
		//abre a janela
		bi.LightboxExibe({lightbox: "pag_usuario_cadastro"});
		usuario_validate("2",$cod_usuario)
		bi.LightboxEsconde({lightbox: "load"});
	}
    return false;
}

function usuario_validate($cod_tipo,$cod_usuario){
	$form_usuario_cadastro.validate({
		submitHandler: function(form){
			bi.LightboxExibe({lightbox: "load"});
			var dados = $form_usuario_cadastro.serialize();
			$.ajax({
				type 	: 'POST', 
				url  	: 'ajax/usuario_cadastro.asp',
				data 	: dados,
				success : function(data){
					var $pagina = $("#pagina").attr("value");
					getUsuarios($pagina);
					bi.LightboxEsconde({lightbox: "pag_usuario_cadastro"});
					bi.Alertas({tipo : 'sucesso', texto : 'Dados gravados com sucesso !', titulo : 'Aviso'})
					bi.LightboxEsconde({lightbox: "load"});
				}
			});
		}
	}).resetForm();

	//nome
	$("input#nome_cadastro").rules("add", {
	  	required		: true,
	  	maxlength 		: 200,
		messages		: {
	        required	: "<br>Digite o nome !",
	        maxlength   : "<br>Digite no m&aacute;ximo, 200 caracteres !"
	    }
	});
	//email
	$("input#email_cadastro").rules("add", {
		required		: true,
		maxlength 		: 100,
		email 			: true,
		messages		: {
		    required	: "<br>Digite o nome !",
		    maxlength   : "<br>Digite no m&aacute;ximo, 100 caracteres !",
		    email 		: "<br>E-mail inválido !"
		}
	});

	if ($cod_tipo+"" == "1"){
		$("input#matricula_cadastro").rules("remove");
		$("input#dt_nascimento_cadastro").rules("remove");
		$("select#cmb_cod_perfil").rules("remove");
		$("select#cmb_cod_status").rules("remove");
		$("select#acesso_sistema_cadastro").rules("remove");
	}else{
		$("input#matricula_cadastro").rules("add", {
		  	required	: true,
		  	minlength	: 7,
		  	maxlength 	: 7,
		  	remote: {
		        url: "ajax/usuario_cadastro.asp",
		        type: "post",
		        data: {
		        	acao : "validarMatricula",
		        	cod_usuario : function() {
		        		return $("#cod_usuario").val();
		        	},
			        matricula: function(){
			            return $("#matricula_cadastro").val();
			        }
		   		}
		    },
		  	messages: {
		    	required: "<br>Digite a matricula !",
		    	minlength   : "<br>Digite no m&iacute;nimo, 7 (sete) caracteres !",
                maxlength   : "<br>Digite no m&aacute;ximo, 7 (sete) caracteres !",
                remote		: "<br>Matricula existente !"
		  	}

		});

		$("input#dt_nascimento_cadastro").rules("add", {
			date_pt_br : true,
			messages: {
				date_pt_br : '<br>Digite uma data válida !'
			}
		});

		$("select#acesso_sistema_cadastro").rules("add", {
			required : true,
			messages : {
				required : ''
			}
		});

		$("select#cmb_cod_perfil").rules("add", {
			required : true,
			messages : {
				required : ''
			}
		});

		$("select#cmb_cod_status").rules("add", {
			required : true,
			messages : {
				required : ''
			}
		});
	}
}

function getRegionalCadastro($cod_usuario){
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getRegional', nome : 'chk_reg_cadastro_select',cod_usuario : $cod_usuario},
		success : function(data){
			$("#chk_reg_cadastro_select").html(data);
			var $all_reg = getSelected('chk_reg_cadastro_select');
			if ($all_reg != ""){
				getRegionalUFCadastro($all_reg,$cod_usuario);
			}else{
				getUFCadastro($cod_usuario);
			}
			var $all_uf = getSelected('chk_uf_select');
			if ($all_reg != "" || $all_uf != ""){
				getRegionalUFDDDCadastro($all_reg,$all_uf,$cod_usuario);
			}else{
				getDDDCadastro($cod_usuario);
			}
		}
	});
}

function getUFCadastro($cod_usuario,$load){
	if ($load+"" == ""){
		$load = "1";
	}
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getUF', nome : 'chk_uf_cadastro_select', cod_usuario : $cod_usuario, load : $load},
		success : function(data){
			$("#chk_uf_cadastro_select").html(data);
		}
	});
}


function getRegionalUFCadastro($all,$cod_usuario,$load){
	if ($load+"" == ""){
		$load = "1";
	}
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getRegionalUF', nome : 'chk_uf_cadastro_select', ids : $all, cod_usuario : $cod_usuario, load : $load},
		success : function(data){
			$("#chk_uf_cadastro_select").html(data);
		}
	});
}


function getDDDCadastro($cod_usuario,$load){
	if ($load+"" == ""){
		$load = "1";
	}
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getDDD', nome : 'chk_ddd_cadastro_select', cod_usuario : $cod_usuario, load : $load},
		success : function(data){
			$("#chk_ddd_cadastro_select").html(data);
		}
	});
}


function getRegionalUFDDDCadastro($all_regs,$all_UFs,$cod_usuario,$load){
	if ($load+"" == ""){
		$load = "1";
	}
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getRegionalUFDDD', nome : 'chk_ddd_cadastro_select', idregs : $all_regs,idufs : $all_UFs, cod_usuario : $cod_usuario, load: $load},
		success : function(data){
			$("#chk_ddd_cadastro_select").html(data);
		}
	});
}

function getPerfilCadastro($cod_usuario){
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getPerfil',cod_usuario : $cod_usuario},
		success : function(data){
			$("#cmb_cod_perfil").html(data);
		}
	});
}

function getStatusCadastro($cod_usuario){
	$.ajax({
		type : 'POST',
		async: false,
		url  : 'ajax/usuario_cadastro.asp',
		data : {acao : 'getStatus', cod_usuario : $cod_usuario},
		success : function(data){
			$("#cmb_cod_status").html(data);
		}
	});
}

/* Fim das funções da tela de cadastro */